import tensorflow as tf  # 导入 TF 库
from tensorflow import keras

if __name__ == '__main__':
    x = tf.linspace(-6., 6., 10)
    print(x)
    # 输出概率和为一
    z = tf.random.normal([2, 10])
    y_onehot = tf.constant([1, 3])
    y_onehot = tf.one_hot(y_onehot, depth=10)
    # 输出层未使用 Softmax 函数，故 from_logits 设置为 True
    # 这样 categorical_crossentropy 函数在计算损失函数前，会先内部调用 Softmax 函数
    loss = keras.losses.categorical_crossentropy(y_onehot, z, from_logits=True)
    loss = tf.reduce_mean(loss)  # 计算平均交叉熵损失
    print(loss)
